#include "iwdg.h"

// 配置独立看门狗
void IWDG_Config(void)
{
	/* 1.判断是否从独立看门狗复位 */
	if (RCC_GetFlagStatus(RCC_FLAG_IWDGRST) != RESET)
	{
		usart1_send_str("reset from iwdg!\r\n");
		
		/* Clear reset flags */
		RCC_ClearFlag();
	}
	
	/* 2.使能写访问 */
	IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);
	
	/* 3.时钟分频: LSI/256 = 32kHz/256 = 125Hz */
	IWDG_SetPrescaler(IWDG_Prescaler_256);
	
	/* 4.设置计数值 (0~4095)	*/   
	IWDG_SetReload(125);	// 1s超时
	
	/* 5.刷新计数值（喂狗） */
	IWDG_ReloadCounter();
	
	/* 6.使能独立看门狗 */
	IWDG_Enable();
}
